package serveur;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.List;
import java.util.Set;

import serveur.ClientDistant;

public interface TwitterDistant extends Remote {
	public ServiceClientConnecteRemote seConnecter(ClientDistant c, String pseudo, String mdp) throws RemoteException;
	public ServiceClientConnecteRemote sInscrire(ClientDistant c, String nom, String prenom, String mdp, String pseudo) throws RemoteException;
	public Set<String> getUtilisateurs() throws RemoteException;
	public Set<String> getTopics() throws RemoteException;
	public List<Tweet> getTweetsParUtilisateur(String pseudo) throws RemoteException;
	public List<Tweet> getTweetsParTopic(String topic) throws RemoteException;
	public void tweeter(String topic, String message, ClientDistant client) throws RemoteException;
	public void tweeter(Tweet t, ClientDistant client) throws RemoteException;
	public void follow(String pseudo, ClientDistant client) throws RemoteException;
	public List<Tweet> afficherTweetUtilisateursFollowed(ClientDistant c) throws RemoteException;
	public void seDeconnecter(ClientDistant c) throws RemoteException;
}
